#include <iostream>

using namespace std;



class A
{
public:
	A(int a = 0)
	{
		this->a = a;
		cout <<"Constructors ------"<<a<<endl;
	}

	A(const A& a1)
	{
		this->a = a1.a;
		cout <<"CopyConstructors ------"<<a<<endl;
	}

	~A()
	{
		cout <<"Destructor ------"<<a<<endl;
	}


	void printc()
	{
		cout<<"a = "<<a<<endl;
	}
	
private:
	int a;
};


A fun0()
{
	A tmp(3);
	return tmp;
}

void fun1()
{
	A a1 = fun0();
	a1.printc();
}

int main(int argc, char* argv[])
{

	cout <<argv[0]<<endl;

	fun1();

	system("pause");
	return 0;
}